Typically, in a read operation in which stored data is retrieved to restore data on a host system, the data to be recovered is determined and located, and is read from storage media and provided to a client in chunks. Some data storage systems increase read throughput by prefetching data. For example, further data chunks expected to be requested and/or required by a client are read into a buffer before the client has actually submitted a request for those chunks. However, in a multi-controller environment for example, prefetching data may hurt performance in some conditions, e.g., when different controllers have unbalanced workloads.